package xkp.lesson;

public class TestCopy {
    public static void main(String[] args) throws CloneNotSupportedException {
        //Cloneable接口 Serializable对于JVM来说，只是一个标记，
        // 被这个Cloneable接口标记的内容可以使用clone()
        //被Serializable标记可以被序列化
        //native方法是一个本地方法  本质上是被C/C++语言实现了 然后开发JNI接口  java native interface
        //native  本地 C语言与操作系统有关

        //String和包装类不会引起浅拷贝问题
        Car car = new Car("豫A12345");
        Driver driver1 = new Driver("张三",20,car);
        //此时克隆是深拷贝还是浅拷贝
      /*  Driver driver2 = (Driver) driver1.clone();
        System.out.println(driver1);
        System.out.println(driver2);
        System.out.println("***********************");
        driver1.setName("李四");
        driver1.getCar().setCarNumber("123456");
        System.out.println(driver1);
        System.out.println(driver2);*/

        //值传递与引用传递
        //引用传递中 String与包装类的效果与值传递的效果一样
        //String与包装类的值不能被修改
        //如果去修改 本质上是重新指向一个新的对象,而不是修改原有对象的值

        //String与Car的区别


    }
}
